home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dlaqtr.z / dlaqtr
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAAQQQQTTTTRRRR((((3333FFFF))))                                                          DDDDLLLLAAAAQQQQTTTTRRRR((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLAQTR - solve the real quasi-triangular system   op(T)*p = scale*c, if
  10.      LREAL = .TRUE
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DLAQTR( LTRAN, LREAL, N, T, LDT, B, W, SCALE, X, WORK, INFO )
  14.  
  15.          LOGICAL        LREAL, LTRAN
  16.  
  17.          INTEGER        INFO, LDT, N
  18.  
  19.          DOUBLE         PRECISION SCALE, W
  20.  
  21.          DOUBLE         PRECISION B( * ), T( LDT, * ), WORK( * ), X( * )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      DLAQTR solves the real quasi-triangular system
  25.  
  26.      or the complex quasi-triangular systems
  27.  
  28.                 op(T + iB)*(p+iq) = scale*(c+id),  if LREAL = .FALSE.
  29.  
  30.      in real arithmetic, where T is upper quasi-triangular.
  31.      If LREAL = .FALSE., then the first diagonal block of T must be 1 by 1, B
  32.      is the specially structured matrix
  33.  
  34.                     B = [ b(1) b(2) ... b(n) ]
  35.                         [       w            ]
  36.                         [           w        ]
  37.                         [              .     ]
  38.                         [                 w  ]
  39.  
  40.      op(A) = A or A', A' denotes the conjugate transpose of
  41.      matrix A.
  42.  
  43.      On input, X = [ c ].  On output, X = [ p ].
  44.                    [ d ]                  [ q ]
  45.  
  46.      This subroutine is designed for the condition number estimation in
  47.      routine DTRSNA.
  48.  
  49.  
  50. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  51.      LTRAN   (input) LOGICAL
  52.              On entry, LTRAN specifies the option of conjugate transpose:  =
  53.              .FALSE.,    op(T+i*B) = T+i*B, = .TRUE.,     op(T+i*B) =
  54.              (T+i*B)'.
  55.  
  56.      LREAL   (input) LOGICAL
  57.              On entry, LREAL specifies the input matrix structure:  = .FALSE.,
  58.              the input is complex = .TRUE.,     the input is real
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAAQQQQTTTTRRRR((((3333FFFF))))                                                          DDDDLLLLAAAAQQQQTTTTRRRR((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      N       (input) INTEGER
  75.              On entry, N specifies the order of T+i*B. N >= 0.
  76.  
  77.      T       (input) DOUBLE PRECISION array, dimension (LDT,N)
  78.              On entry, T contains a matrix in Schur canonical form.  If LREAL
  79.              = .FALSE., then the first diagonal block of T mu be 1 by 1.
  80.  
  81.      LDT     (input) INTEGER
  82.              The leading dimension of the matrix T. LDT >= max(1,N).
  83.  
  84.      B       (input) DOUBLE PRECISION array, dimension (N)
  85.              On entry, B contains the elements to form the matrix B as
  86.              described above.  If LREAL = .TRUE., B is not referenced.
  87.  
  88.      W       (input) DOUBLE PRECISION
  89.              On entry, W is the diagonal element of the matrix B.  If LREAL =
  90.              .TRUE., W is not referenced.
  91.  
  92.      SCALE   (output) DOUBLE PRECISION
  93.              On exit, SCALE is the scale factor.
  94.  
  95.      X       (input/output) DOUBLE PRECISION array, dimension (2*N)
  96.              On entry, X contains the right hand side of the system.  On exit,
  97.              X is overwritten by the solution.
  98.  
  99.      WORK    (workspace) DOUBLE PRECISION array, dimension (N)
  100.  
  101.      INFO    (output) INTEGER
  102.              On exit, INFO is set to 0: successful exit.
  103.              1: the some diagonal 1 by 1 block has been perturbed by a small
  104.              number SMIN to keep nonsingularity.  2: the some diagonal 2 by 2
  105.              block has been perturbed by a small number in DLALN2 to keep
  106.              nonsingularity.  NOTE: In the interests of speed, this routine
  107.              does not check the inputs for errors.
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.